package com.sg.service.biz.calc.nb;

import cn.hutool.core.bean.BeanUtil;
import com.sg.dto.biz.calc.req.*;
import com.sg.dto.biz.calc.res.*;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.stereotype.Service;

/**
 * @author ： 手工接入方法
 * @version 1.0
 * @since 2022/5/28 15:32
 */
@Service
public class NbEvaCalc {
    /**
     * code:receptionService
     * name:M4约定业务数据对象等
     * desc:undefined
     * gen by moon at 5/30/2024, 11:10:24 PM
     **/
    @Trace(operationName = "M4约定业务数据对象等")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementNineReceivingFieldRespDto implementNineReceivingField(ImplementNineReceivingFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementNineReceivingFieldRespDto.class);
    }

    /**
     * code:endlessLoop
     * name:M4计算死循环（特殊方法）
     * desc:undefined
     * gen by moon at 5/30/2024, 11:10:32 PM
     **/
    @Trace(operationName = "M4计算死循环（特殊方法）")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcEndlessLoopRespDto implementCalcEndlessLoop(ImplementCalcEndlessLoopReqDto reqDto) {
        // TODO ruizhe skai dong ; 5/30/2024, 11:10:32 PM
        return new ImplementCalcEndlessLoopRespDto();
    }

    /**
     * code:end
     * name:M4跳出计算循环（特殊方法）
     * desc:undefined
     * gen by moon at 5/30/2024, 11:10:37 PM
     **/
    @Trace(operationName = "M4跳出计算循环（特殊方法）")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcEndLoopRespDto implementCalcEndLoop(ImplementCalcEndLoopReqDto reqDto) {
        // TODO ruizhe skai dong ; 5/30/2024, 11:10:37 PM
        return new ImplementCalcEndLoopRespDto();
    }

    /**
     * code:receptionService
     * name:M4约定当前系统时间
     * desc:undefined
     * gen by moon at 6/23/2024, 2:33:54 AM
     **/
    @Trace(operationName = "M4约定当前系统时间")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcReceivingField003RespDto implementCalcReceivingField003(ImplementCalcReceivingField003ReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementCalcReceivingField003RespDto.class);
    }

    /**
     * code:receptionService
     * name:M4接收进度值与实际值、预算支出金额出参
     * desc:undefined
     * gen by moon at 6/24/2024, 4:42:07 AM
     **/
    @Trace(operationName = "M4接收进度值与实际值、预算支出金额出参")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcReceiveFieldRespDto implementCalcReceiveField(ImplementCalcReceiveFieldReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementCalcReceiveFieldRespDto.class);
    }

    /**
     * code:receptionService
     * name:M4约定父子中周期类型及父或子或中周期类型
     * desc:undefined
     * gen by moon at 7/2/2024, 3:53:14 AM
     **/
    @Trace(operationName = "M4约定父子中周期类型及父或子或中周期类型")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcReceivingField002RespDto implementCalcReceivingField002(ImplementCalcReceivingField002ReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementCalcReceivingField002RespDto.class);
    }

    /**
     * code:receptionService
     * name:M4接收目标得分
     * desc:undefined
     * gen by moon at 7/11/2024, 3:24:08 PM
     **/
    @Trace(operationName = "M4接收目标得分")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementCalcReceivingField006RespDto implementCalcReceivingField006(ImplementCalcReceivingField006ReqDto reqDto) {
        return BeanUtil.toBean(reqDto, ImplementCalcReceivingField006RespDto.class);
    }

    /**
     * code:receptionService
     * name:M4-接收字段入参（计算使用）
     * desc:undefined
     * gen by moon at 4/20/2025, 4:29:32 PM
     **/
    @Trace(operationName = "M4-接收字段入参（计算使用）")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public AddAcceptFieldRespDto addAcceptField(AddAcceptFieldReqDto reqDto) {
        // TODO ruizhe skai dong ; 4/20/2025, 4:29:32 PM
        return new AddAcceptFieldRespDto();
    }

    /**
     * code:receptionService
     * name:M4-执行接收字段（特殊方法）
     * desc:undefined
     * gen by moon at 4/20/2025, 4:29:50 PM
     **/
    @Trace(operationName = "M4-执行接收字段（特殊方法）")
    @Tags({@Tag(key = "参数", value = "arg[0]"),
            @Tag(key = "返回值", value = "returnedObj")})
    public ImplementReceiveFieldRespDto implementReceiveField(ImplementReceiveFieldReqDto reqDto) {
        // TODO ruizhe skai dong ; 4/20/2025, 4:29:50 PM
        return new ImplementReceiveFieldRespDto();
    }
    //手工接入方法
}
